package com.zsk.shop.entity.yulink;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

/**
 * @author ljh
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("yl_user")
@ApiModel("用户实体返回类")
public class YlUser implements Serializable {

    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty(name = "id", value = "主键编号", dataType = "Long")
    private Long id;

    @ApiModelProperty(name = "userNo", value = "用户no", dataType = "String")
    private String userNo;

    @TableField("`name`")
    @ApiModelProperty(name = "name", value = "平台昵称", dataType = "String")
    private String name;

    @ApiModelProperty(name = "wxName", value = "微信昵称", dataType = "String")
    private String wxName;

    @ApiModelProperty(name = "qqName", value = "QQ昵称", dataType = "String")
    private String qqName;

    @ApiModelProperty(name = "dingName", value = "钉钉昵称", dataType = "String")
    private String dingName;

    @ApiModelProperty(name = "phone", value = "手机账号", dataType = "String")
    private String phone;

    @ApiModelProperty(name = "pwd", value = "密码", dataType = "String")
    private String pwd;

    @ApiModelProperty(name = "avatar", value = "平台头像", dataType = "String")
    private String avatar;

    @ApiModelProperty(name = "wxAvatar", value = "微信头像", dataType = "String")
    private String wxAvatar;

    @ApiModelProperty(name = "qqAvatar", value = "QQ头像", dataType = "String")
    private String qqAvatar;

    @ApiModelProperty(name = "birthday", value = "生日", dataType = "Date")
    private Date birthday;

    @ApiModelProperty(name = "gender", value = "性别（0未知，1男，2女）", dataType = "Integer")
    private Integer gender;

    @ApiModelProperty(name = "userType", value = "用户类型", dataType = "Integer")
    private Integer userType;

    @ApiModelProperty(name = "addSysCalendar", value = "是否添加至系统日历  1是0不是", dataType = "Boolean")
    private Boolean addSysCalendar;

    @ApiModelProperty(name = "isInvalid", value = "是否是禁用用户", dataType = "Boolean")
    private Boolean isInvalid;

    @ApiModelProperty(name = "isLogout", value = "是否注销", dataType = "Boolean")
    private Boolean isLogout;

    @ApiModelProperty(name = "isDeleted", value = "是否删除", dataType = "Boolean")
    private Boolean isDeleted;

    @ApiModelProperty(name = "creator", value = "创建人", dataType = "String")
    private String creator;

    @ApiModelProperty(name = "modifier", value = "修改人", dataType = "String")
    private String modifier;

    @ApiModelProperty(name = "createTime", value = "生成时间", dataType = "Date")
    private Date createTime;

    @ApiModelProperty(name = "updateTime", value = "修改时间", dataType = "Date")
    private Date updateTime;

    @ApiModelProperty(name = "qqOpenId", value = "QQOpenId", dataType = "String")
    private String qqOpenId;

    @ApiModelProperty(name = "wxOpenId", value = "微信OpenId", dataType = "String")
    private String wxOpenId;

    @ApiModelProperty(name = "wxMiniOpenId", value = "微信小程序openId", dataType = "String")
    private String wxMiniOpenId;

    @ApiModelProperty(name = "wxH5OpenId", value = "微信h5页面openId", dataType = "String")
    private String wxH5OpenId;

    @ApiModelProperty(name = "wxJsOpenId", value = "微信Js页面openId", dataType = "String")
    private String wxJsOpenId;

    @ApiModelProperty(name = "dingOpenId", value = "钉钉OpenId", dataType = "String")
    private String dingOpenId;

    @ApiModelProperty(name = "dingH5OpenId", value = "钉钉h5OpenId", dataType = "String")
    private String dingH5OpenId;

    @ApiModelProperty(name = "wxUnionId", value = "微信unionId", dataType = "String")
    private String wxUnionId;

    @ApiModelProperty(name = "dingUnionId", value = "钉钉unionId", dataType = "String")
    private String dingUnionId;

    @ApiModelProperty(name = "appleSub", value = "苹果用户userId", dataType = "String")
    private String appleSub;

    @ApiModelProperty(name = "companyNo", value = "企业业务主键", dataType = "String")
    private String companyNo;

    @ApiModelProperty(name = "industry", value = "行业", dataType = "Long")
    private Long industry;

    @ApiModelProperty(name = "job", value = "职务", dataType = "Long")
    private Long job;

    @ApiModelProperty(name = "inviteCode", value = "邀请码(初始为6位纯数字ID号，第一位用户ID号为100001号，后续用户依次排序)", dataType = "Long")
    private Long inviteCode;

    private static final long serialVersionUID = 1L;

}